<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>MCUXpresso SDK API Reference Manual: ECSPI Driver</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">MCUXpresso SDK API Reference Manual
   &#160;<span id="projectnumber">Rev. 0</span>
   </div>
   <div id="projectbrief">NXP Semiconductors</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>API&#160;Reference</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__ecspi__driver.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">ECSPI Driver<div class="ingroups"><a class="el" href="group__ecspi.html">ECSPI: Serial Peripheral Interface Driver</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>ECSPI driver includes functional APIs and transactional APIs.</p>
<p>Functional APIs are feature/property target low level APIs. Functional APIs can be used for ecSPI initialization/configuration/operation for optimization/customization purpose. Using the functional API requires the knowledge of the SPI peripheral and how to organize functional APIs to meet the application requirements. All functional API use the peripheral base address as the first parameter. ECSPI functional operation groups provide the functional API set.</p>
<p>Transactional APIs are transaction target high level APIs. Transactional APIs can be used to enable the peripheral and in the application if the code size and performance of transactional APIs satisfy the requirements. If the code size and performance are a critical requirement, see the transactional API implementation and write a custom code. All transactional APIs use the spi_handle_t as the first parameter. Initialize the handle by calling the SPI_MasterTransferCreateHandle() or SPI_SlaveTransferCreateHandle() API.</p>
<p>Transactional APIs support asynchronous transfer. This means that the functions SPI_MasterTransferNonBlocking() and SPI_SlaveTransferNonBlocking() set up the interrupt for data transfer. When the transfer completes, the upper layer is notified through a callback function with the kStatus_SPI_Idle status.</p>
<h1><a class="anchor" id="ECSPICase"></a>
Typical use case</h1>
<h2><a class="anchor" id="ECSPICasePolling"></a>
SPI master transfer using polling method</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#define TRANSFER_SIZE 64U         </span><span class="comment">/* Transfer dataSize */</span><span class="preprocessor"></span></div>
<div class="line"><span class="preprocessor"></span></div>
<div class="line">uint32_t masterRxData[TRANSFER_SIZE] = {0U};</div>
<div class="line">uint32_t masterTxData[TRANSFER_SIZE] = {0U};</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    uint32_t srcClock_Hz;</div>
<div class="line">    uint32_t errorCount;</div>
<div class="line">    uint32_t loopCount = 1U;</div>
<div class="line">    <a class="code" href="group__ecspi__driver.html#structecspi__master__config__t">ecspi_master_config_t</a> masterConfig;</div>
<div class="line">    <a class="code" href="group__ecspi__driver.html#structecspi__transfer__t">ecspi_transfer_t</a> masterXfer;</div>
<div class="line"></div>
<div class="line">    <span class="comment">/* Master config */</span></div>
<div class="line">    <a class="code" href="group__ecspi__driver.html#ga3984ed3d0a8755835f1244334ff59f67">ECSPI_MasterGetDefaultConfig</a>(&amp;masterConfig);</div>
<div class="line">    srcClock_Hz = <a class="code" href="group__clock.html#gabac973beaa21ff412dbc91e9aa1d939a">CLOCK_GetFreq</a>(ECSPI_MASTER_CLK_SRC);</div>
<div class="line">    <a class="code" href="group__ecspi__driver.html#ga26e03d859a266145121e60a94d84e04b">ECSPI_MasterInit</a>(EXAMPLE_ECSPI_MASTER_BASEADDR, &amp;masterConfig, srcClock_Hz);</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">while</span> (1)</div>
<div class="line">    {</div>
<div class="line">        <span class="comment">/* Start master transfer, send data to slave */</span></div>
<div class="line">        masterXfer.<a class="code" href="group__ecspi__driver.html#a024d7352f22d1a5b4e826cbc024581f0">txData</a> = masterTxData;</div>
<div class="line">        masterXfer.<a class="code" href="group__ecspi__driver.html#afc78bda57ee3f9b7d7d732ef02973c2c">rxData</a> = NULL;</div>
<div class="line">        masterXfer.<a class="code" href="group__ecspi__driver.html#ab2775e32b2da5edd97ca780106b17ca1">dataSize</a> = TRANSFER_SIZE;</div>
<div class="line">        masterXfer.<a class="code" href="group__ecspi__driver.html#a6f085d63c254287974a6a9175befc55e">channel</a> = <a class="code" href="group__ecspi__driver.html#gga0946f249a6cbdb8987baa5f4bd39a0aba1ac961fb6f497e8ad9082fb07504e9c5">kECSPI_Channel0</a>;</div>
<div class="line">        <a class="code" href="group__ecspi__driver.html#ga20f68343a19b3772e814a8ee61d7be7f">ECSPI_MasterTransferBlocking</a>(EXAMPLE_ECSPI_MASTER_BASEADDR, &amp;masterXfer);</div>
<div class="line"></div>
<div class="line">        <span class="comment">/* Delay to wait slave is ready */</span></div>
<div class="line">        <span class="keywordflow">for</span> (i = 0U; i &lt; EXAMPLE_ECSPI_DEALY_COUNT; i++)</div>
<div class="line">        {</div>
<div class="line">            __NOP();</div>
<div class="line">        }</div>
<div class="line"></div>
<div class="line">        <span class="comment">/* Start master transfer, receive data from slave */</span></div>
<div class="line">        masterXfer.<a class="code" href="group__ecspi__driver.html#a024d7352f22d1a5b4e826cbc024581f0">txData</a> = NULL;</div>
<div class="line">        masterXfer.<a class="code" href="group__ecspi__driver.html#afc78bda57ee3f9b7d7d732ef02973c2c">rxData</a> = masterRxData;</div>
<div class="line">        masterXfer.<a class="code" href="group__ecspi__driver.html#ab2775e32b2da5edd97ca780106b17ca1">dataSize</a> = TRANSFER_SIZE;</div>
<div class="line">        masterXfer.<a class="code" href="group__ecspi__driver.html#a6f085d63c254287974a6a9175befc55e">channel</a> = <a class="code" href="group__ecspi__driver.html#gga0946f249a6cbdb8987baa5f4bd39a0aba1ac961fb6f497e8ad9082fb07504e9c5">kECSPI_Channel0</a>;</div>
<div class="line">        <a class="code" href="group__ecspi__driver.html#ga20f68343a19b3772e814a8ee61d7be7f">ECSPI_MasterTransferBlocking</a>(EXAMPLE_ECSPI_MASTER_BASEADDR, &amp;masterXfer);</div>
<div class="line"></div>
<div class="line">        <span class="comment">/* Wait for press any key */</span></div>
<div class="line">        PRINTF(<span class="stringliteral">&quot;\r\n Press any key to run again\r\n&quot;</span>);</div>
<div class="line">        GETCHAR();</div>
<div class="line"></div>
<div class="line">        <span class="comment">/* Increase loop count to change transmit buffer */</span></div>
<div class="line">        loopCount++;</div>
<div class="line">    }</div>
<div class="line">}</div>
</div><!-- fragment --><h2><a class="anchor" id="ECSPICaseInterrupt"></a>
SPI master transfer using an interrupt method</h2>
<div class="fragment"><div class="line"><span class="preprocessor">#define BUFFER_LEN (64)</span></div>
<div class="line"><span class="preprocessor"></span>ecspi_master_handle_t spiHandle;</div>
<div class="line"><a class="code" href="group__ecspi__driver.html#structecspi__master__config__t">ecspi_master_config_t</a> masterConfig;</div>
<div class="line"><a class="code" href="group__ecspi__driver.html#structecspi__transfer__t">ecspi_transfer_t</a> xfer;</div>
<div class="line"><span class="keyword">volatile</span> <span class="keywordtype">bool</span> isFinished = <span class="keyword">false</span>;</div>
<div class="line"></div>
<div class="line"><span class="keyword">const</span> uint32_t sendData[BUFFER_LEN] = [......];</div>
<div class="line">uint32_t receiveBuff[BUFFER_LEN];</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> ECSPI_UserCallback(ECSPI_Type *base, ecspi_master_handle_t *handle, status_t status, <span class="keywordtype">void</span> *userData)</div>
<div class="line">{</div>
<div class="line">    isFinished = <span class="keyword">true</span>;</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    <span class="comment">//...</span></div>
<div class="line"></div>
<div class="line">    <a class="code" href="group__ecspi__driver.html#ga3984ed3d0a8755835f1244334ff59f67">ECSPI_MasterGetDefaultConfig</a>(&amp;masterConfig);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="group__ecspi__driver.html#ga26e03d859a266145121e60a94d84e04b">ECSPI_MasterInit</a>(ECSPI4, &amp;masterConfig);</div>
<div class="line">    <a class="code" href="group__ecspi__driver.html#ga1ab5918361a605a7f0467bcb3d1760ac">ECSPI_MasterTransferCreateHandle</a>(ECSPI4, &amp;ecspiHandle, ECSPI_UserCallback, NULL);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Prepare to send.</span></div>
<div class="line">    xfer.<a class="code" href="group__ecspi__driver.html#a024d7352f22d1a5b4e826cbc024581f0">txData</a> = sendData;</div>
<div class="line">    xfer.<a class="code" href="group__ecspi__driver.html#afc78bda57ee3f9b7d7d732ef02973c2c">rxData</a> = receiveBuff;</div>
<div class="line">    xfer.<a class="code" href="group__ecspi__driver.html#ab2775e32b2da5edd97ca780106b17ca1">dataSize</a> = BUFFER_LEN;</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Send out.</span></div>
<div class="line">    <a class="code" href="group__ecspi__driver.html#gad77408a45d6982958068a49149ac60b6">ECSPI_MasterTransferNonBlocking</a>(ECSPI4, &amp;ecspiHandle, &amp;xfer);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Wait send finished.</span></div>
<div class="line">    <span class="keywordflow">while</span> (!isFinished)</div>
<div class="line">    {</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="comment">// ...</span></div>
<div class="line">}</div>
</div><!-- fragment --> <table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structecspi__channel__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#structecspi__channel__config__t">ecspi_channel_config_t</a></td></tr>
<tr class="memdesc:structecspi__channel__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI user channel configure structure.  <a href="group__ecspi__driver.html#structecspi__channel__config__t">More...</a><br/></td></tr>
<tr class="separator:structecspi__channel__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structecspi__master__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#structecspi__master__config__t">ecspi_master_config_t</a></td></tr>
<tr class="memdesc:structecspi__master__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI master configure structure.  <a href="group__ecspi__driver.html#structecspi__master__config__t">More...</a><br/></td></tr>
<tr class="separator:structecspi__master__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structecspi__slave__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#structecspi__slave__config__t">ecspi_slave_config_t</a></td></tr>
<tr class="memdesc:structecspi__slave__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI slave configure structure.  <a href="group__ecspi__driver.html#structecspi__slave__config__t">More...</a><br/></td></tr>
<tr class="separator:structecspi__slave__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structecspi__transfer__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#structecspi__transfer__t">ecspi_transfer_t</a></td></tr>
<tr class="memdesc:structecspi__transfer__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI transfer structure.  <a href="group__ecspi__driver.html#structecspi__transfer__t">More...</a><br/></td></tr>
<tr class="separator:structecspi__transfer__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:struct__ecspi__master__handle"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#struct__ecspi__master__handle">ecspi_master_handle_t</a></td></tr>
<tr class="memdesc:struct__ecspi__master__handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI master handle structure.  <a href="group__ecspi__driver.html#struct__ecspi__master__handle">More...</a><br/></td></tr>
<tr class="separator:struct__ecspi__master__handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga885f0195612ef6aa0d8e48aa644cea57"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga885f0195612ef6aa0d8e48aa644cea57">ECSPI_DUMMYDATA</a>&#160;&#160;&#160;(0xFFFFFFFFU)</td></tr>
<tr class="memdesc:ga885f0195612ef6aa0d8e48aa644cea57"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI dummy transfer data, the data is sent while txBuff is NULL.  <a href="#ga885f0195612ef6aa0d8e48aa644cea57">More...</a><br/></td></tr>
<tr class="separator:ga885f0195612ef6aa0d8e48aa644cea57"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaba2d0ab06e8ec3b144ce09b38717c73a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaba2d0ab06e8ec3b144ce09b38717c73a"></a>
typedef ecspi_master_handle_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gaba2d0ab06e8ec3b144ce09b38717c73a">ecspi_slave_handle_t</a></td></tr>
<tr class="memdesc:gaba2d0ab06e8ec3b144ce09b38717c73a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slave handle is the same with master handle. <br/></td></tr>
<tr class="separator:gaba2d0ab06e8ec3b144ce09b38717c73a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d23219efb6e309fb8b4cbd1edc86e98"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6d23219efb6e309fb8b4cbd1edc86e98"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga6d23219efb6e309fb8b4cbd1edc86e98">ecspi_master_callback_t</a> )(ECSPI_Type *base, ecspi_master_handle_t *handle, status_t status, void *userData)</td></tr>
<tr class="memdesc:ga6d23219efb6e309fb8b4cbd1edc86e98"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI master callback for finished transmit. <br/></td></tr>
<tr class="separator:ga6d23219efb6e309fb8b4cbd1edc86e98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga14759db6a77598c3d0b901154129b58d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga14759db6a77598c3d0b901154129b58d"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga14759db6a77598c3d0b901154129b58d">ecspi_slave_callback_t</a> )(ECSPI_Type *base, <a class="el" href="group__ecspi__driver.html#gaba2d0ab06e8ec3b144ce09b38717c73a">ecspi_slave_handle_t</a> *handle, status_t status, void *userData)</td></tr>
<tr class="memdesc:ga14759db6a77598c3d0b901154129b58d"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI slave callback for finished transmit. <br/></td></tr>
<tr class="separator:ga14759db6a77598c3d0b901154129b58d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gab7feb7648f53585d65d172a675a42148"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gab7feb7648f53585d65d172a675a42148">_ecspi_status</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab7feb7648f53585d65d172a675a42148a8a46fcccbbfc30bb81a0f324c5f3d860">kStatus_ECSPI_Busy</a> = MAKE_STATUS(kStatusGroup_ECSPI, 0), 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab7feb7648f53585d65d172a675a42148a7a5f40ca776d628f47310d95e68fa245">kStatus_ECSPI_Idle</a> = MAKE_STATUS(kStatusGroup_ECSPI, 1), 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab7feb7648f53585d65d172a675a42148acff86cd4db27adbb14cfdbc60cc4e04f">kStatus_ECSPI_Error</a> = MAKE_STATUS(kStatusGroup_ECSPI, 2), 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab7feb7648f53585d65d172a675a42148ad4e8224a416538ed087176bc033267e7">kStatus_ECSPI_HardwareOverFlow</a> = MAKE_STATUS(kStatusGroup_ECSPI, 3)
<br/>
 }</td></tr>
<tr class="memdesc:gab7feb7648f53585d65d172a675a42148"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return status for the ECSPI driver.  <a href="group__ecspi__driver.html#gab7feb7648f53585d65d172a675a42148">More...</a><br/></td></tr>
<tr class="separator:gab7feb7648f53585d65d172a675a42148"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0418192a24558da46fad3181ad2aac6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gae0418192a24558da46fad3181ad2aac6">ecspi_clock_polarity_t</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggae0418192a24558da46fad3181ad2aac6a87b0cb4747fed7d6f25b0107ceea9a86">kECSPI_PolarityActiveHigh</a> = 0x0U, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggae0418192a24558da46fad3181ad2aac6a2b62838dac3b0f2fe12f4d423636ff68">kECSPI_PolarityActiveLow</a>
<br/>
 }</td></tr>
<tr class="memdesc:gae0418192a24558da46fad3181ad2aac6"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI clock polarity configuration.  <a href="group__ecspi__driver.html#gae0418192a24558da46fad3181ad2aac6">More...</a><br/></td></tr>
<tr class="separator:gae0418192a24558da46fad3181ad2aac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga776487ec9cfe2ee52d26b62f4adc6878"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga776487ec9cfe2ee52d26b62f4adc6878">ecspi_clock_phase_t</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga776487ec9cfe2ee52d26b62f4adc6878a3bd1e7add02733a4fdc701b55a28d83c">kECSPI_ClockPhaseFirstEdge</a>, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga776487ec9cfe2ee52d26b62f4adc6878acad0974595c9bbf39c64e1b11951a78b">kECSPI_ClockPhaseSecondEdge</a>
<br/>
 }</td></tr>
<tr class="memdesc:ga776487ec9cfe2ee52d26b62f4adc6878"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI clock phase configuration.  <a href="group__ecspi__driver.html#ga776487ec9cfe2ee52d26b62f4adc6878">More...</a><br/></td></tr>
<tr class="separator:ga776487ec9cfe2ee52d26b62f4adc6878"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab6c8407ece4ff07b8039cfdd99897fe3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gab6c8407ece4ff07b8039cfdd99897fe3">_ecspi_interrupt_enable</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab6c8407ece4ff07b8039cfdd99897fe3af3d3bd3c344fecda9888c66b63f9b2bc">kECSPI_TxfifoEmptyInterruptEnable</a> = ECSPI_INTREG_TEEN_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab6c8407ece4ff07b8039cfdd99897fe3a2550332987e4b2832993eec7571c102d">kECSPI_TxFifoDataRequstInterruptEnable</a> = ECSPI_INTREG_TDREN_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab6c8407ece4ff07b8039cfdd99897fe3ab51c3b033fa2b8519a53a074be3ba6f7">kECSPI_TxFifoFullInterruptEnable</a> = ECSPI_INTREG_TFEN_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab6c8407ece4ff07b8039cfdd99897fe3a6113d2098b055e3f08420ce9e3ac2d4c">kECSPI_RxFifoReadyInterruptEnable</a> = ECSPI_INTREG_RREN_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab6c8407ece4ff07b8039cfdd99897fe3a58dfb462d67e67e437b6fdc9449b1b6f">kECSPI_RxFifoDataRequstInterruptEnable</a> = ECSPI_INTREG_RDREN_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab6c8407ece4ff07b8039cfdd99897fe3a98ffad56047a874910ff53ba36bcaf30">kECSPI_RxFifoFullInterruptEnable</a> = ECSPI_INTREG_RFEN_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab6c8407ece4ff07b8039cfdd99897fe3aef5f1ecfd8cb6b4f6ea898169b1c96dd">kECSPI_RxFifoOverFlowInterruptEnable</a> = ECSPI_INTREG_ROEN_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab6c8407ece4ff07b8039cfdd99897fe3a759acc23595685c28efd304219dacd7c">kECSPI_TransferCompleteInterruptEnable</a> = ECSPI_INTREG_TCEN_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggab6c8407ece4ff07b8039cfdd99897fe3a970cc4e4c20aa8a433953c4b3530b99f">kECSPI_AllInterruptEnable</a>
<br/>
 }</td></tr>
<tr class="memdesc:gab6c8407ece4ff07b8039cfdd99897fe3"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI interrupt sources.  <a href="group__ecspi__driver.html#gab6c8407ece4ff07b8039cfdd99897fe3">More...</a><br/></td></tr>
<tr class="separator:gab6c8407ece4ff07b8039cfdd99897fe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc0c60a0cdfcca917d9ff1d49d32f11d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gabc0c60a0cdfcca917d9ff1d49d32f11d">_ecspi_flags</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggabc0c60a0cdfcca917d9ff1d49d32f11dab655bd71113cf592dae74e2776a721dc">kECSPI_TxfifoEmptyFlag</a> = ECSPI_STATREG_TE_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggabc0c60a0cdfcca917d9ff1d49d32f11dacbb31605593949923e0d7f09c3859142">kECSPI_TxFifoDataRequstFlag</a> = ECSPI_STATREG_TDR_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggabc0c60a0cdfcca917d9ff1d49d32f11da72d999ee17dcca997f3cc9ac56647cf7">kECSPI_TxFifoFullFlag</a> = ECSPI_STATREG_TF_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggabc0c60a0cdfcca917d9ff1d49d32f11da262aac414af41bb3db795e0aeb70b520">kECSPI_RxFifoReadyFlag</a> = ECSPI_STATREG_RR_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggabc0c60a0cdfcca917d9ff1d49d32f11da707210bff1488bdb9bfaa71ca043b810">kECSPI_RxFifoDataRequstFlag</a> = ECSPI_STATREG_RDR_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggabc0c60a0cdfcca917d9ff1d49d32f11da366f72bc39e182080c5e07d2922e490b">kECSPI_RxFifoFullFlag</a> = ECSPI_STATREG_RF_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggabc0c60a0cdfcca917d9ff1d49d32f11daa5457be11d61af76cf8192ffe872f1c9">kECSPI_RxFifoOverFlowFlag</a> = ECSPI_STATREG_RO_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggabc0c60a0cdfcca917d9ff1d49d32f11da3ca312f3c579ca0524ae433a4bd2758f">kECSPI_TransferCompleteFlag</a> = ECSPI_STATREG_TC_MASK
<br/>
 }</td></tr>
<tr class="memdesc:gabc0c60a0cdfcca917d9ff1d49d32f11d"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI status flags.  <a href="group__ecspi__driver.html#gabc0c60a0cdfcca917d9ff1d49d32f11d">More...</a><br/></td></tr>
<tr class="separator:gabc0c60a0cdfcca917d9ff1d49d32f11d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3791f3bab2750aac043bd184f220da51"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga3791f3bab2750aac043bd184f220da51">_ecspi_dma_enable_t</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga3791f3bab2750aac043bd184f220da51af73555b2b4eb12d7fcab8774e9dfb34b">kECSPI_TxDmaEnable</a> = ECSPI_DMAREG_TEDEN_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga3791f3bab2750aac043bd184f220da51a53af55fec388ff98aafcfa4c947fc215">kECSPI_RxDmaEnable</a> = ECSPI_DMAREG_RXDEN_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga3791f3bab2750aac043bd184f220da51aef9846743f20a85f6429f16d7b98687d">kECSPI_DmaAllEnable</a> = (ECSPI_DMAREG_TEDEN_MASK | ECSPI_DMAREG_RXDEN_MASK)
<br/>
 }</td></tr>
<tr class="memdesc:ga3791f3bab2750aac043bd184f220da51"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI DMA enable.  <a href="group__ecspi__driver.html#ga3791f3bab2750aac043bd184f220da51">More...</a><br/></td></tr>
<tr class="separator:ga3791f3bab2750aac043bd184f220da51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f9aab667da727ae384a6b76e09fd5c0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga3f9aab667da727ae384a6b76e09fd5c0">ecspi_Data_ready_t</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga3f9aab667da727ae384a6b76e09fd5c0ae840f8158fce546e682c6ab1710d90b0">kECSPI_DataReadyIgnore</a> = 0x0U, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga3f9aab667da727ae384a6b76e09fd5c0a77fc4d56d82923c8cb0fcc9e5521b647">kECSPI_DataReadyFallingEdge</a>, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga3f9aab667da727ae384a6b76e09fd5c0af48e5a90d193e110bfd88dc1b4a5c0be">kECSPI_DataReadyLowLevel</a>
<br/>
 }</td></tr>
<tr class="memdesc:ga3f9aab667da727ae384a6b76e09fd5c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI SPI_RDY signal configuration.  <a href="group__ecspi__driver.html#ga3f9aab667da727ae384a6b76e09fd5c0">More...</a><br/></td></tr>
<tr class="separator:ga3f9aab667da727ae384a6b76e09fd5c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0946f249a6cbdb8987baa5f4bd39a0ab"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga0946f249a6cbdb8987baa5f4bd39a0ab">ecspi_channel_source_t</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga0946f249a6cbdb8987baa5f4bd39a0aba1ac961fb6f497e8ad9082fb07504e9c5">kECSPI_Channel0</a> = 0x0U, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga0946f249a6cbdb8987baa5f4bd39a0aba3186dfb67a1311c21c6fc81a845324db">kECSPI_Channel1</a>, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga0946f249a6cbdb8987baa5f4bd39a0aba16c4a01e134f7db5001f496b34bb080a">kECSPI_Channel2</a>, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga0946f249a6cbdb8987baa5f4bd39a0aba0993f73a469ede063091c7de076c006e">kECSPI_Channel3</a>
<br/>
 }</td></tr>
<tr class="memdesc:ga0946f249a6cbdb8987baa5f4bd39a0ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI channel select source.  <a href="group__ecspi__driver.html#ga0946f249a6cbdb8987baa5f4bd39a0ab">More...</a><br/></td></tr>
<tr class="separator:ga0946f249a6cbdb8987baa5f4bd39a0ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa8ffe589b98df551c09da7fbd5fd8149"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gaa8ffe589b98df551c09da7fbd5fd8149">ecspi_master_slave_mode_t</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggaa8ffe589b98df551c09da7fbd5fd8149a492c128adc36b27e968376463d339b6c">kECSPI_Slave</a> = 0U, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggaa8ffe589b98df551c09da7fbd5fd8149afa1c745867b3076523985e99aad4b58a">kECSPI_Master</a>
<br/>
 }</td></tr>
<tr class="memdesc:gaa8ffe589b98df551c09da7fbd5fd8149"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI master or slave mode configuration.  <a href="group__ecspi__driver.html#gaa8ffe589b98df551c09da7fbd5fd8149">More...</a><br/></td></tr>
<tr class="separator:gaa8ffe589b98df551c09da7fbd5fd8149"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7756b59f227697a8d4fe335a2f40fa74"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga7756b59f227697a8d4fe335a2f40fa74">ecspi_data_line_inactive_state_t</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga7756b59f227697a8d4fe335a2f40fa74ab9b16d2f8e51662551756b6923d8384b">kECSPI_DataLineInactiveStateHigh</a> = 0x0U, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga7756b59f227697a8d4fe335a2f40fa74a6d736df09298222db7f060e5bf8dae35">kECSPI_DataLineInactiveStateLow</a>
<br/>
 }</td></tr>
<tr class="memdesc:ga7756b59f227697a8d4fe335a2f40fa74"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI data line inactive state configuration.  <a href="group__ecspi__driver.html#ga7756b59f227697a8d4fe335a2f40fa74">More...</a><br/></td></tr>
<tr class="separator:ga7756b59f227697a8d4fe335a2f40fa74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga524b46a0bed966cf616715354a0468a2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga524b46a0bed966cf616715354a0468a2">ecspi_clock_inactive_state_t</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga524b46a0bed966cf616715354a0468a2ac7c53cfc3b3a445bdb4eb3a78d3d236a">kECSPI_ClockInactiveStateLow</a> = 0x0U, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga524b46a0bed966cf616715354a0468a2a8be6d1327a55926da4cc1504e3763475">kECSPI_ClockInactiveStateHigh</a>
<br/>
 }</td></tr>
<tr class="memdesc:ga524b46a0bed966cf616715354a0468a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI clock inactive state configuration.  <a href="group__ecspi__driver.html#ga524b46a0bed966cf616715354a0468a2">More...</a><br/></td></tr>
<tr class="separator:ga524b46a0bed966cf616715354a0468a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75ba01276811af8ffaef76e74173ac7b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga75ba01276811af8ffaef76e74173ac7b">ecspi_chip_select_active_state_t</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga75ba01276811af8ffaef76e74173ac7ba9940e869c485c1f937b0b2f9b4f7a777">kECSPI_ChipSelectActiveStateLow</a> = 0x0U, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga75ba01276811af8ffaef76e74173ac7bade90bcbe7e7f3cf34547cf8b67b965f9">kECSPI_ChipSelectActiveStateHigh</a>
<br/>
 }</td></tr>
<tr class="memdesc:ga75ba01276811af8ffaef76e74173ac7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI active state configuration.  <a href="group__ecspi__driver.html#ga75ba01276811af8ffaef76e74173ac7b">More...</a><br/></td></tr>
<tr class="separator:ga75ba01276811af8ffaef76e74173ac7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6594affdbf34712547ee88af6c14909"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gaf6594affdbf34712547ee88af6c14909">ecspi_wave_form_t</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggaf6594affdbf34712547ee88af6c14909a8ae0eac731958e012204a228852ae40b">kECSPI_WaveFormSingle</a> = 0x0U, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#ggaf6594affdbf34712547ee88af6c14909aafd4ab11fa403da5bcf42749565343c7">kECSPI_WaveFormMultiple</a>
<br/>
 }</td></tr>
<tr class="memdesc:gaf6594affdbf34712547ee88af6c14909"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI wave form configuration.  <a href="group__ecspi__driver.html#gaf6594affdbf34712547ee88af6c14909">More...</a><br/></td></tr>
<tr class="separator:gaf6594affdbf34712547ee88af6c14909"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e15db09a9c66cb10350282507f3d5c6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga8e15db09a9c66cb10350282507f3d5c6">ecspi_sample_period_clock_source_t</a> { <br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga8e15db09a9c66cb10350282507f3d5c6a86a48f9e83419196fadcc8189ed6e841">kECSPI_spiClock</a> = 0x0U, 
<br/>
&#160;&#160;<a class="el" href="group__ecspi__driver.html#gga8e15db09a9c66cb10350282507f3d5c6a02660ea6610c018123dd691c19939f5f">kECSPI_lowFreqClock</a>
<br/>
 }</td></tr>
<tr class="memdesc:ga8e15db09a9c66cb10350282507f3d5c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI sample period clock configuration.  <a href="group__ecspi__driver.html#ga8e15db09a9c66cb10350282507f3d5c6">More...</a><br/></td></tr>
<tr class="separator:ga8e15db09a9c66cb10350282507f3d5c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Driver version</h2></td></tr>
<tr class="memitem:ga49e359ce2a195388c177d885b5fd3e74"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga49e359ce2a195388c177d885b5fd3e74">FSL_ECSPI_DRIVER_VERSION</a>&#160;&#160;&#160;(MAKE_VERSION(2, 0, 0))</td></tr>
<tr class="memdesc:ga49e359ce2a195388c177d885b5fd3e74"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI driver version 2.0.0.  <a href="#ga49e359ce2a195388c177d885b5fd3e74">More...</a><br/></td></tr>
<tr class="separator:ga49e359ce2a195388c177d885b5fd3e74"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Initialization and deinitialization</h2></td></tr>
<tr class="memitem:ga3984ed3d0a8755835f1244334ff59f67"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga3984ed3d0a8755835f1244334ff59f67">ECSPI_MasterGetDefaultConfig</a> (<a class="el" href="group__ecspi__driver.html#structecspi__master__config__t">ecspi_master_config_t</a> *config)</td></tr>
<tr class="memdesc:ga3984ed3d0a8755835f1244334ff59f67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the ECSPI configuration structure to default values.  <a href="#ga3984ed3d0a8755835f1244334ff59f67">More...</a><br/></td></tr>
<tr class="separator:ga3984ed3d0a8755835f1244334ff59f67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26e03d859a266145121e60a94d84e04b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga26e03d859a266145121e60a94d84e04b">ECSPI_MasterInit</a> (ECSPI_Type *base, const <a class="el" href="group__ecspi__driver.html#structecspi__master__config__t">ecspi_master_config_t</a> *config, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:ga26e03d859a266145121e60a94d84e04b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the ECSPI with configuration.  <a href="#ga26e03d859a266145121e60a94d84e04b">More...</a><br/></td></tr>
<tr class="separator:ga26e03d859a266145121e60a94d84e04b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76aa1e3db8310570d7621766958e4249"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga76aa1e3db8310570d7621766958e4249">ECSPI_SlaveGetDefaultConfig</a> (<a class="el" href="group__ecspi__driver.html#structecspi__slave__config__t">ecspi_slave_config_t</a> *config)</td></tr>
<tr class="memdesc:ga76aa1e3db8310570d7621766958e4249"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the ECSPI configuration structure to default values.  <a href="#ga76aa1e3db8310570d7621766958e4249">More...</a><br/></td></tr>
<tr class="separator:ga76aa1e3db8310570d7621766958e4249"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d64d89082d59ff4634df9cfafd92401"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga9d64d89082d59ff4634df9cfafd92401">ECSPI_SlaveInit</a> (ECSPI_Type *base, const <a class="el" href="group__ecspi__driver.html#structecspi__slave__config__t">ecspi_slave_config_t</a> *config)</td></tr>
<tr class="memdesc:ga9d64d89082d59ff4634df9cfafd92401"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the ECSPI with configuration.  <a href="#ga9d64d89082d59ff4634df9cfafd92401">More...</a><br/></td></tr>
<tr class="separator:ga9d64d89082d59ff4634df9cfafd92401"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga684087107b71beeb41401d78f4983685"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga684087107b71beeb41401d78f4983685">ECSPI_Deinit</a> (ECSPI_Type *base)</td></tr>
<tr class="memdesc:ga684087107b71beeb41401d78f4983685"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initializes the ECSPI.  <a href="#ga684087107b71beeb41401d78f4983685">More...</a><br/></td></tr>
<tr class="separator:ga684087107b71beeb41401d78f4983685"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e4d1cabe92e6f4b35c540ba3c8b0308"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga2e4d1cabe92e6f4b35c540ba3c8b0308">ECSPI_Enable</a> (ECSPI_Type *base, bool enable)</td></tr>
<tr class="memdesc:ga2e4d1cabe92e6f4b35c540ba3c8b0308"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the ECSPI.  <a href="#ga2e4d1cabe92e6f4b35c540ba3c8b0308">More...</a><br/></td></tr>
<tr class="separator:ga2e4d1cabe92e6f4b35c540ba3c8b0308"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Status</h2></td></tr>
<tr class="memitem:gacebe36e1f278e18350d4bf971af2fc7e"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gacebe36e1f278e18350d4bf971af2fc7e">ECSPI_GetStatusFlags</a> (ECSPI_Type *base)</td></tr>
<tr class="memdesc:gacebe36e1f278e18350d4bf971af2fc7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the status flag.  <a href="#gacebe36e1f278e18350d4bf971af2fc7e">More...</a><br/></td></tr>
<tr class="separator:gacebe36e1f278e18350d4bf971af2fc7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa437a7c7a740dfabb3f2296b0e989adf"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gaa437a7c7a740dfabb3f2296b0e989adf">ECSPI_ClearStatusFlags</a> (ECSPI_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:gaa437a7c7a740dfabb3f2296b0e989adf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the status flag.  <a href="#gaa437a7c7a740dfabb3f2296b0e989adf">More...</a><br/></td></tr>
<tr class="separator:gaa437a7c7a740dfabb3f2296b0e989adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Interrupts</h2></td></tr>
<tr class="memitem:gad3f9f4d11b99c104503aa4b7dda53833"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gad3f9f4d11b99c104503aa4b7dda53833">ECSPI_EnableInterrupts</a> (ECSPI_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:gad3f9f4d11b99c104503aa4b7dda53833"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the interrupt for the ECSPI.  <a href="#gad3f9f4d11b99c104503aa4b7dda53833">More...</a><br/></td></tr>
<tr class="separator:gad3f9f4d11b99c104503aa4b7dda53833"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9bac11d5dcd977a97a0607d77791ba1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gac9bac11d5dcd977a97a0607d77791ba1">ECSPI_DisableInterrupts</a> (ECSPI_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:gac9bac11d5dcd977a97a0607d77791ba1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the interrupt for the ECSPI.  <a href="#gac9bac11d5dcd977a97a0607d77791ba1">More...</a><br/></td></tr>
<tr class="separator:gac9bac11d5dcd977a97a0607d77791ba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Software Reset</h2></td></tr>
<tr class="memitem:gadc13d57141df32cefbb4b0040e6404f6"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gadc13d57141df32cefbb4b0040e6404f6">ECSPI_SoftwareReset</a> (ECSPI_Type *base)</td></tr>
<tr class="memdesc:gadc13d57141df32cefbb4b0040e6404f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Software reset.  <a href="#gadc13d57141df32cefbb4b0040e6404f6">More...</a><br/></td></tr>
<tr class="separator:gadc13d57141df32cefbb4b0040e6404f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Channel mode check</h2></td></tr>
<tr class="memitem:ga92268573eb4bcbb82d4cc2417ac4933a"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga92268573eb4bcbb82d4cc2417ac4933a">ECSPI_IsMaster</a> (ECSPI_Type *base, <a class="el" href="group__ecspi__driver.html#ga0946f249a6cbdb8987baa5f4bd39a0ab">ecspi_channel_source_t</a> channel)</td></tr>
<tr class="memdesc:ga92268573eb4bcbb82d4cc2417ac4933a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mode check.  <a href="#ga92268573eb4bcbb82d4cc2417ac4933a">More...</a><br/></td></tr>
<tr class="separator:ga92268573eb4bcbb82d4cc2417ac4933a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
DMA Control</h2></td></tr>
<tr class="memitem:gab2f7c2269309fd273f8e41f11833e313"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gab2f7c2269309fd273f8e41f11833e313">ECSPI_EnableDMA</a> (ECSPI_Type *base, uint32_t mask, bool enable)</td></tr>
<tr class="memdesc:gab2f7c2269309fd273f8e41f11833e313"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the DMA source for ECSPI.  <a href="#gab2f7c2269309fd273f8e41f11833e313">More...</a><br/></td></tr>
<tr class="separator:gab2f7c2269309fd273f8e41f11833e313"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
FIFO Operation</h2></td></tr>
<tr class="memitem:ga88e66c4f5f15754fb7ba7fc016f6dc41"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga88e66c4f5f15754fb7ba7fc016f6dc41">ECSPI_GetTxFifoCount</a> (ECSPI_Type *base)</td></tr>
<tr class="memdesc:ga88e66c4f5f15754fb7ba7fc016f6dc41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Tx FIFO data count.  <a href="#ga88e66c4f5f15754fb7ba7fc016f6dc41">More...</a><br/></td></tr>
<tr class="separator:ga88e66c4f5f15754fb7ba7fc016f6dc41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaded76e7db6b46c3a53922a528d755c57"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gaded76e7db6b46c3a53922a528d755c57">ECSPI_GetRxFifoCount</a> (ECSPI_Type *base)</td></tr>
<tr class="memdesc:gaded76e7db6b46c3a53922a528d755c57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Rx FIFO data count.  <a href="#gaded76e7db6b46c3a53922a528d755c57">More...</a><br/></td></tr>
<tr class="separator:gaded76e7db6b46c3a53922a528d755c57"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Bus Operations</h2></td></tr>
<tr class="memitem:ga3175e7552062e74bffa3538195b8df6a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga3175e7552062e74bffa3538195b8df6a">ECSPI_SetChannelSelect</a> (ECSPI_Type *base, <a class="el" href="group__ecspi__driver.html#ga0946f249a6cbdb8987baa5f4bd39a0ab">ecspi_channel_source_t</a> channel)</td></tr>
<tr class="memdesc:ga3175e7552062e74bffa3538195b8df6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set channel select for transfer.  <a href="#ga3175e7552062e74bffa3538195b8df6a">More...</a><br/></td></tr>
<tr class="separator:ga3175e7552062e74bffa3538195b8df6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa4a223ca2612f4e73fae0982afcff226"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gaa4a223ca2612f4e73fae0982afcff226">ECSPI_SetChannelConfig</a> (ECSPI_Type *base, <a class="el" href="group__ecspi__driver.html#ga0946f249a6cbdb8987baa5f4bd39a0ab">ecspi_channel_source_t</a> channel, const <a class="el" href="group__ecspi__driver.html#structecspi__channel__config__t">ecspi_channel_config_t</a> *config)</td></tr>
<tr class="memdesc:gaa4a223ca2612f4e73fae0982afcff226"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set channel select configuration for transfer.  <a href="#gaa4a223ca2612f4e73fae0982afcff226">More...</a><br/></td></tr>
<tr class="separator:gaa4a223ca2612f4e73fae0982afcff226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b5b00f89c45cb1164af2a4685e984d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga4b5b00f89c45cb1164af2a4685e984d5">ECSPI_SetBaudRate</a> (ECSPI_Type *base, uint32_t baudRate_Bps, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:ga4b5b00f89c45cb1164af2a4685e984d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the baud rate for ECSPI transfer.  <a href="#ga4b5b00f89c45cb1164af2a4685e984d5">More...</a><br/></td></tr>
<tr class="separator:ga4b5b00f89c45cb1164af2a4685e984d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga510cc92b588628aef34fef1078e87716"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga510cc92b588628aef34fef1078e87716">ECSPI_WriteBlocking</a> (ECSPI_Type *base, uint32_t *buffer, size_t size)</td></tr>
<tr class="memdesc:ga510cc92b588628aef34fef1078e87716"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a buffer of data bytes using a blocking method.  <a href="#ga510cc92b588628aef34fef1078e87716">More...</a><br/></td></tr>
<tr class="separator:ga510cc92b588628aef34fef1078e87716"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99b6a9e30ad735c3634d60b81c500c2e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga99b6a9e30ad735c3634d60b81c500c2e">ECSPI_WriteData</a> (ECSPI_Type *base, uint32_t data)</td></tr>
<tr class="memdesc:ga99b6a9e30ad735c3634d60b81c500c2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a data into the ECSPI data register.  <a href="#ga99b6a9e30ad735c3634d60b81c500c2e">More...</a><br/></td></tr>
<tr class="separator:ga99b6a9e30ad735c3634d60b81c500c2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c50b084acf2fe74f19575cc10069bbe"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga3c50b084acf2fe74f19575cc10069bbe">ECSPI_ReadData</a> (ECSPI_Type *base)</td></tr>
<tr class="memdesc:ga3c50b084acf2fe74f19575cc10069bbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a data from the ECSPI data register.  <a href="#ga3c50b084acf2fe74f19575cc10069bbe">More...</a><br/></td></tr>
<tr class="separator:ga3c50b084acf2fe74f19575cc10069bbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Transactional</h2></td></tr>
<tr class="memitem:ga1ab5918361a605a7f0467bcb3d1760ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga1ab5918361a605a7f0467bcb3d1760ac">ECSPI_MasterTransferCreateHandle</a> (ECSPI_Type *base, ecspi_master_handle_t *handle, <a class="el" href="group__ecspi__driver.html#ga6d23219efb6e309fb8b4cbd1edc86e98">ecspi_master_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:ga1ab5918361a605a7f0467bcb3d1760ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the ECSPI master handle.  <a href="#ga1ab5918361a605a7f0467bcb3d1760ac">More...</a><br/></td></tr>
<tr class="separator:ga1ab5918361a605a7f0467bcb3d1760ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga20f68343a19b3772e814a8ee61d7be7f"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga20f68343a19b3772e814a8ee61d7be7f">ECSPI_MasterTransferBlocking</a> (ECSPI_Type *base, <a class="el" href="group__ecspi__driver.html#structecspi__transfer__t">ecspi_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga20f68343a19b3772e814a8ee61d7be7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfers a block of data using a polling method.  <a href="#ga20f68343a19b3772e814a8ee61d7be7f">More...</a><br/></td></tr>
<tr class="separator:ga20f68343a19b3772e814a8ee61d7be7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad77408a45d6982958068a49149ac60b6"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gad77408a45d6982958068a49149ac60b6">ECSPI_MasterTransferNonBlocking</a> (ECSPI_Type *base, ecspi_master_handle_t *handle, <a class="el" href="group__ecspi__driver.html#structecspi__transfer__t">ecspi_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:gad77408a45d6982958068a49149ac60b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a non-blocking ECSPI interrupt transfer.  <a href="#gad77408a45d6982958068a49149ac60b6">More...</a><br/></td></tr>
<tr class="separator:gad77408a45d6982958068a49149ac60b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga85aef57f678a64cbe3e718ec59043841"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga85aef57f678a64cbe3e718ec59043841">ECSPI_MasterTransferGetCount</a> (ECSPI_Type *base, ecspi_master_handle_t *handle, size_t *count)</td></tr>
<tr class="memdesc:ga85aef57f678a64cbe3e718ec59043841"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the bytes of the ECSPI interrupt transferred.  <a href="#ga85aef57f678a64cbe3e718ec59043841">More...</a><br/></td></tr>
<tr class="separator:ga85aef57f678a64cbe3e718ec59043841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacda4c03d5c4b1c2ba78578ff5213a2f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gacda4c03d5c4b1c2ba78578ff5213a2f5">ECSPI_MasterTransferAbort</a> (ECSPI_Type *base, ecspi_master_handle_t *handle)</td></tr>
<tr class="memdesc:gacda4c03d5c4b1c2ba78578ff5213a2f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts an ECSPI transfer using interrupt.  <a href="#gacda4c03d5c4b1c2ba78578ff5213a2f5">More...</a><br/></td></tr>
<tr class="separator:gacda4c03d5c4b1c2ba78578ff5213a2f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada190053bf71b9ce53a619b7d6c7c245"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gada190053bf71b9ce53a619b7d6c7c245">ECSPI_MasterTransferHandleIRQ</a> (ECSPI_Type *base, ecspi_master_handle_t *handle)</td></tr>
<tr class="memdesc:gada190053bf71b9ce53a619b7d6c7c245"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupts the handler for the ECSPI.  <a href="#gada190053bf71b9ce53a619b7d6c7c245">More...</a><br/></td></tr>
<tr class="separator:gada190053bf71b9ce53a619b7d6c7c245"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63b3bb057b97b1115ad082e9e056632b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga63b3bb057b97b1115ad082e9e056632b">ECSPI_SlaveTransferCreateHandle</a> (ECSPI_Type *base, <a class="el" href="group__ecspi__driver.html#gaba2d0ab06e8ec3b144ce09b38717c73a">ecspi_slave_handle_t</a> *handle, <a class="el" href="group__ecspi__driver.html#ga14759db6a77598c3d0b901154129b58d">ecspi_slave_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:ga63b3bb057b97b1115ad082e9e056632b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the ECSPI slave handle.  <a href="#ga63b3bb057b97b1115ad082e9e056632b">More...</a><br/></td></tr>
<tr class="separator:ga63b3bb057b97b1115ad082e9e056632b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad4a51681f1b62b0f26be844a209e6e10"><td class="memItemLeft" align="right" valign="top">static status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gad4a51681f1b62b0f26be844a209e6e10">ECSPI_SlaveTransferNonBlocking</a> (ECSPI_Type *base, <a class="el" href="group__ecspi__driver.html#gaba2d0ab06e8ec3b144ce09b38717c73a">ecspi_slave_handle_t</a> *handle, <a class="el" href="group__ecspi__driver.html#structecspi__transfer__t">ecspi_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:gad4a51681f1b62b0f26be844a209e6e10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a non-blocking ECSPI slave interrupt transfer.  <a href="#gad4a51681f1b62b0f26be844a209e6e10">More...</a><br/></td></tr>
<tr class="separator:gad4a51681f1b62b0f26be844a209e6e10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacea2421bc4aaee6e9cc19f7d4f48e3e5"><td class="memItemLeft" align="right" valign="top">static status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#gacea2421bc4aaee6e9cc19f7d4f48e3e5">ECSPI_SlaveTransferGetCount</a> (ECSPI_Type *base, <a class="el" href="group__ecspi__driver.html#gaba2d0ab06e8ec3b144ce09b38717c73a">ecspi_slave_handle_t</a> *handle, size_t *count)</td></tr>
<tr class="memdesc:gacea2421bc4aaee6e9cc19f7d4f48e3e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the bytes of the ECSPI interrupt transferred.  <a href="#gacea2421bc4aaee6e9cc19f7d4f48e3e5">More...</a><br/></td></tr>
<tr class="separator:gacea2421bc4aaee6e9cc19f7d4f48e3e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2512b5ae1d6591e8ba1d70f15221c689"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga2512b5ae1d6591e8ba1d70f15221c689">ECSPI_SlaveTransferAbort</a> (ECSPI_Type *base, <a class="el" href="group__ecspi__driver.html#gaba2d0ab06e8ec3b144ce09b38717c73a">ecspi_slave_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga2512b5ae1d6591e8ba1d70f15221c689"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts an ECSPI slave transfer using interrupt.  <a href="#ga2512b5ae1d6591e8ba1d70f15221c689">More...</a><br/></td></tr>
<tr class="separator:ga2512b5ae1d6591e8ba1d70f15221c689"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8bc32a537b99b7e988228650957f25d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ga8bc32a537b99b7e988228650957f25d8">ECSPI_SlaveTransferHandleIRQ</a> (ECSPI_Type *base, <a class="el" href="group__ecspi__driver.html#gaba2d0ab06e8ec3b144ce09b38717c73a">ecspi_slave_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga8bc32a537b99b7e988228650957f25d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupts a handler for the ECSPI slave.  <a href="#ga8bc32a537b99b7e988228650957f25d8">More...</a><br/></td></tr>
<tr class="separator:ga8bc32a537b99b7e988228650957f25d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structecspi__channel__config__t" id="structecspi__channel__config__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct ecspi_channel_config_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:ae4b6b855f5d5202d69995657f6b495f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4b6b855f5d5202d69995657f6b495f9"></a>
<a class="el" href="group__ecspi__driver.html#gaa8ffe589b98df551c09da7fbd5fd8149">ecspi_master_slave_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ae4b6b855f5d5202d69995657f6b495f9">channelMode</a></td></tr>
<tr class="memdesc:ae4b6b855f5d5202d69995657f6b495f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel mode. <br/></td></tr>
<tr class="separator:ae4b6b855f5d5202d69995657f6b495f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa08cd8243e60e65e43e5425c8a560a07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa08cd8243e60e65e43e5425c8a560a07"></a>
<a class="el" href="group__ecspi__driver.html#ga524b46a0bed966cf616715354a0468a2">ecspi_clock_inactive_state_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#aa08cd8243e60e65e43e5425c8a560a07">clockInactiveState</a></td></tr>
<tr class="memdesc:aa08cd8243e60e65e43e5425c8a560a07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clock line (SCLK) inactive state. <br/></td></tr>
<tr class="separator:aa08cd8243e60e65e43e5425c8a560a07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ad22b79de30e56cb705c239c7bb62fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ad22b79de30e56cb705c239c7bb62fd"></a>
<a class="el" href="group__ecspi__driver.html#ga7756b59f227697a8d4fe335a2f40fa74">ecspi_data_line_inactive_state_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a9ad22b79de30e56cb705c239c7bb62fd">dataLineInactiveState</a></td></tr>
<tr class="memdesc:a9ad22b79de30e56cb705c239c7bb62fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data line (MOSI&amp;MISO) inactive state. <br/></td></tr>
<tr class="separator:a9ad22b79de30e56cb705c239c7bb62fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a373701fa6b25844c20404dbda4b08612"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a373701fa6b25844c20404dbda4b08612"></a>
<a class="el" href="group__ecspi__driver.html#ga75ba01276811af8ffaef76e74173ac7b">ecspi_chip_select_active_state_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a373701fa6b25844c20404dbda4b08612">chipSlectActiveState</a></td></tr>
<tr class="memdesc:a373701fa6b25844c20404dbda4b08612"><td class="mdescLeft">&#160;</td><td class="mdescRight">Chip select(SS) line active state. <br/></td></tr>
<tr class="separator:a373701fa6b25844c20404dbda4b08612"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d1826b0744e6136569e193298968ba1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d1826b0744e6136569e193298968ba1"></a>
<a class="el" href="group__ecspi__driver.html#gaf6594affdbf34712547ee88af6c14909">ecspi_wave_form_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a7d1826b0744e6136569e193298968ba1">waveForm</a></td></tr>
<tr class="memdesc:a7d1826b0744e6136569e193298968ba1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wave form. <br/></td></tr>
<tr class="separator:a7d1826b0744e6136569e193298968ba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6327b0a05d54c85c01ca246e86b50c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6327b0a05d54c85c01ca246e86b50c4"></a>
<a class="el" href="group__ecspi__driver.html#gae0418192a24558da46fad3181ad2aac6">ecspi_clock_polarity_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#aa6327b0a05d54c85c01ca246e86b50c4">polarity</a></td></tr>
<tr class="memdesc:aa6327b0a05d54c85c01ca246e86b50c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clock polarity. <br/></td></tr>
<tr class="separator:aa6327b0a05d54c85c01ca246e86b50c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad4e0d3e01790b01e7c0ca7c6c5920af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad4e0d3e01790b01e7c0ca7c6c5920af"></a>
<a class="el" href="group__ecspi__driver.html#ga776487ec9cfe2ee52d26b62f4adc6878">ecspi_clock_phase_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#aad4e0d3e01790b01e7c0ca7c6c5920af">phase</a></td></tr>
<tr class="memdesc:aad4e0d3e01790b01e7c0ca7c6c5920af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clock phase. <br/></td></tr>
<tr class="separator:aad4e0d3e01790b01e7c0ca7c6c5920af"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>

</div>
</div>
<a name="structecspi__master__config__t" id="structecspi__master__config__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct ecspi_master_config_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:ab7f80a7f7b11d5c4d3d08a39199dacfd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7f80a7f7b11d5c4d3d08a39199dacfd"></a>
<a class="el" href="group__ecspi__driver.html#ga0946f249a6cbdb8987baa5f4bd39a0ab">ecspi_channel_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ab7f80a7f7b11d5c4d3d08a39199dacfd">channel</a></td></tr>
<tr class="memdesc:ab7f80a7f7b11d5c4d3d08a39199dacfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel number. <br/></td></tr>
<tr class="separator:ab7f80a7f7b11d5c4d3d08a39199dacfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a267f3458edd5cb57aea83c3a17ae1f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a267f3458edd5cb57aea83c3a17ae1f"></a>
<a class="el" href="group__ecspi__driver.html#structecspi__channel__config__t">ecspi_channel_config_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a5a267f3458edd5cb57aea83c3a17ae1f">channelConfig</a></td></tr>
<tr class="memdesc:a5a267f3458edd5cb57aea83c3a17ae1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel configuration. <br/></td></tr>
<tr class="separator:a5a267f3458edd5cb57aea83c3a17ae1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5056430705436de599aa16a0796f45b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5056430705436de599aa16a0796f45b"></a>
<a class="el" href="group__ecspi__driver.html#ga8e15db09a9c66cb10350282507f3d5c6">ecspi_sample_period_clock_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ae5056430705436de599aa16a0796f45b">samplePeriodClock</a></td></tr>
<tr class="memdesc:ae5056430705436de599aa16a0796f45b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sample period clock source. <br/></td></tr>
<tr class="separator:ae5056430705436de599aa16a0796f45b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadad8a26aa23fe97db1b1ebf26a6d7a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aadad8a26aa23fe97db1b1ebf26a6d7a1"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#aadad8a26aa23fe97db1b1ebf26a6d7a1">burstLength</a></td></tr>
<tr class="memdesc:aadad8a26aa23fe97db1b1ebf26a6d7a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Burst length. <br/></td></tr>
<tr class="separator:aadad8a26aa23fe97db1b1ebf26a6d7a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b4868a81aa300dd78374535af8a5993"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b4868a81aa300dd78374535af8a5993"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a6b4868a81aa300dd78374535af8a5993">chipSelectDelay</a></td></tr>
<tr class="memdesc:a6b4868a81aa300dd78374535af8a5993"><td class="mdescLeft">&#160;</td><td class="mdescRight">SS delay time. <br/></td></tr>
<tr class="separator:a6b4868a81aa300dd78374535af8a5993"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1827f3ca16c86b5da47b2009be91c00"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1827f3ca16c86b5da47b2009be91c00"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ae1827f3ca16c86b5da47b2009be91c00">samplePeriod</a></td></tr>
<tr class="memdesc:ae1827f3ca16c86b5da47b2009be91c00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sample period. <br/></td></tr>
<tr class="separator:ae1827f3ca16c86b5da47b2009be91c00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04ef6f7d1d2914b3c28d8a6cf1cf2194"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04ef6f7d1d2914b3c28d8a6cf1cf2194"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a04ef6f7d1d2914b3c28d8a6cf1cf2194">txFifoThreshold</a></td></tr>
<tr class="memdesc:a04ef6f7d1d2914b3c28d8a6cf1cf2194"><td class="mdescLeft">&#160;</td><td class="mdescRight">TX Threshold. <br/></td></tr>
<tr class="separator:a04ef6f7d1d2914b3c28d8a6cf1cf2194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae83eee3dd8599490cde034beb9243170"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae83eee3dd8599490cde034beb9243170"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ae83eee3dd8599490cde034beb9243170">rxFifoThreshold</a></td></tr>
<tr class="memdesc:ae83eee3dd8599490cde034beb9243170"><td class="mdescLeft">&#160;</td><td class="mdescRight">RX Threshold. <br/></td></tr>
<tr class="separator:ae83eee3dd8599490cde034beb9243170"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b5fce2d680a7e33f0ca1c03108f5a50"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b5fce2d680a7e33f0ca1c03108f5a50"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a8b5fce2d680a7e33f0ca1c03108f5a50">baudRate_Bps</a></td></tr>
<tr class="memdesc:a8b5fce2d680a7e33f0ca1c03108f5a50"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI baud rate for master mode. <br/></td></tr>
<tr class="separator:a8b5fce2d680a7e33f0ca1c03108f5a50"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>

</div>
</div>
<a name="structecspi__slave__config__t" id="structecspi__slave__config__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct ecspi_slave_config_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a47dc1fd0b2e1db49b4b0adb242cce23f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47dc1fd0b2e1db49b4b0adb242cce23f"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a47dc1fd0b2e1db49b4b0adb242cce23f">burstLength</a></td></tr>
<tr class="memdesc:a47dc1fd0b2e1db49b4b0adb242cce23f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Burst length. <br/></td></tr>
<tr class="separator:a47dc1fd0b2e1db49b4b0adb242cce23f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a878b083da83577aec35e0767d0e6842a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a878b083da83577aec35e0767d0e6842a"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a878b083da83577aec35e0767d0e6842a">txFifoThreshold</a></td></tr>
<tr class="memdesc:a878b083da83577aec35e0767d0e6842a"><td class="mdescLeft">&#160;</td><td class="mdescRight">TX Threshold. <br/></td></tr>
<tr class="separator:a878b083da83577aec35e0767d0e6842a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b28b64178ee94d946c401519eeda64c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b28b64178ee94d946c401519eeda64c"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a5b28b64178ee94d946c401519eeda64c">rxFifoThreshold</a></td></tr>
<tr class="memdesc:a5b28b64178ee94d946c401519eeda64c"><td class="mdescLeft">&#160;</td><td class="mdescRight">RX Threshold. <br/></td></tr>
<tr class="separator:a5b28b64178ee94d946c401519eeda64c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af49e825bd581a557850df75f07e880ea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af49e825bd581a557850df75f07e880ea"></a>
<a class="el" href="group__ecspi__driver.html#structecspi__channel__config__t">ecspi_channel_config_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#af49e825bd581a557850df75f07e880ea">channelConfig</a></td></tr>
<tr class="memdesc:af49e825bd581a557850df75f07e880ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel configuration. <br/></td></tr>
<tr class="separator:af49e825bd581a557850df75f07e880ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>

</div>
</div>
<a name="structecspi__transfer__t" id="structecspi__transfer__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct ecspi_transfer_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a024d7352f22d1a5b4e826cbc024581f0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a024d7352f22d1a5b4e826cbc024581f0"></a>
uint32_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a024d7352f22d1a5b4e826cbc024581f0">txData</a></td></tr>
<tr class="memdesc:a024d7352f22d1a5b4e826cbc024581f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send buffer. <br/></td></tr>
<tr class="separator:a024d7352f22d1a5b4e826cbc024581f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc78bda57ee3f9b7d7d732ef02973c2c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc78bda57ee3f9b7d7d732ef02973c2c"></a>
uint32_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#afc78bda57ee3f9b7d7d732ef02973c2c">rxData</a></td></tr>
<tr class="memdesc:afc78bda57ee3f9b7d7d732ef02973c2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive buffer. <br/></td></tr>
<tr class="separator:afc78bda57ee3f9b7d7d732ef02973c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2775e32b2da5edd97ca780106b17ca1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab2775e32b2da5edd97ca780106b17ca1"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ab2775e32b2da5edd97ca780106b17ca1">dataSize</a></td></tr>
<tr class="memdesc:ab2775e32b2da5edd97ca780106b17ca1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer bytes. <br/></td></tr>
<tr class="separator:ab2775e32b2da5edd97ca780106b17ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f085d63c254287974a6a9175befc55e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f085d63c254287974a6a9175befc55e"></a>
<a class="el" href="group__ecspi__driver.html#ga0946f249a6cbdb8987baa5f4bd39a0ab">ecspi_channel_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a6f085d63c254287974a6a9175befc55e">channel</a></td></tr>
<tr class="memdesc:a6f085d63c254287974a6a9175befc55e"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI channel select. <br/></td></tr>
<tr class="separator:a6f085d63c254287974a6a9175befc55e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>

</div>
</div>
<a name="struct__ecspi__master__handle" id="struct__ecspi__master__handle"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct _ecspi_master_handle</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:aa6c13a233cdacc489cf97bc3cd0fb6f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6c13a233cdacc489cf97bc3cd0fb6f5"></a>
<a class="el" href="group__ecspi__driver.html#ga0946f249a6cbdb8987baa5f4bd39a0ab">ecspi_channel_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#aa6c13a233cdacc489cf97bc3cd0fb6f5">channel</a></td></tr>
<tr class="memdesc:aa6c13a233cdacc489cf97bc3cd0fb6f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel number. <br/></td></tr>
<tr class="separator:aa6c13a233cdacc489cf97bc3cd0fb6f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32a4f2d44ea110f92b775e1ec7824063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32a4f2d44ea110f92b775e1ec7824063"></a>
uint32_t *volatile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a32a4f2d44ea110f92b775e1ec7824063">txData</a></td></tr>
<tr class="memdesc:a32a4f2d44ea110f92b775e1ec7824063"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer buffer. <br/></td></tr>
<tr class="separator:a32a4f2d44ea110f92b775e1ec7824063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadd279e36f9879f8d7ce4881861cbe6f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aadd279e36f9879f8d7ce4881861cbe6f"></a>
uint32_t *volatile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#aadd279e36f9879f8d7ce4881861cbe6f">rxData</a></td></tr>
<tr class="memdesc:aadd279e36f9879f8d7ce4881861cbe6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive buffer. <br/></td></tr>
<tr class="separator:aadd279e36f9879f8d7ce4881861cbe6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a4689219aa53ca5bdb63ce171d2285c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a4689219aa53ca5bdb63ce171d2285c"></a>
volatile size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a3a4689219aa53ca5bdb63ce171d2285c">txRemainingBytes</a></td></tr>
<tr class="memdesc:a3a4689219aa53ca5bdb63ce171d2285c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send data remaining in bytes. <br/></td></tr>
<tr class="separator:a3a4689219aa53ca5bdb63ce171d2285c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6b19b31a8d8428a10088831ab03f27b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6b19b31a8d8428a10088831ab03f27b"></a>
volatile size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#ae6b19b31a8d8428a10088831ab03f27b">rxRemainingBytes</a></td></tr>
<tr class="memdesc:ae6b19b31a8d8428a10088831ab03f27b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive data remaining in bytes. <br/></td></tr>
<tr class="separator:ae6b19b31a8d8428a10088831ab03f27b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa07e9a421f101147c70b860b63b24d72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa07e9a421f101147c70b860b63b24d72"></a>
volatile uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#aa07e9a421f101147c70b860b63b24d72">state</a></td></tr>
<tr class="memdesc:aa07e9a421f101147c70b860b63b24d72"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI internal state. <br/></td></tr>
<tr class="separator:aa07e9a421f101147c70b860b63b24d72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a072b80c6510d0d99ce8336ed8c33d6e1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a072b80c6510d0d99ce8336ed8c33d6e1"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a072b80c6510d0d99ce8336ed8c33d6e1">transferSize</a></td></tr>
<tr class="memdesc:a072b80c6510d0d99ce8336ed8c33d6e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bytes to be transferred. <br/></td></tr>
<tr class="separator:a072b80c6510d0d99ce8336ed8c33d6e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf5bbc4426afa7bea77b107dbc37652c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf5bbc4426afa7bea77b107dbc37652c"></a>
<a class="el" href="group__ecspi__driver.html#ga6d23219efb6e309fb8b4cbd1edc86e98">ecspi_master_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#acf5bbc4426afa7bea77b107dbc37652c">callback</a></td></tr>
<tr class="memdesc:acf5bbc4426afa7bea77b107dbc37652c"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECSPI callback. <br/></td></tr>
<tr class="separator:acf5bbc4426afa7bea77b107dbc37652c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ed57ad9fe76002e40f129febe160654"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ed57ad9fe76002e40f129febe160654"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ecspi__driver.html#a3ed57ad9fe76002e40f129febe160654">userData</a></td></tr>
<tr class="memdesc:a3ed57ad9fe76002e40f129febe160654"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback parameter. <br/></td></tr>
<tr class="separator:a3ed57ad9fe76002e40f129febe160654"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga49e359ce2a195388c177d885b5fd3e74"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define FSL_ECSPI_DRIVER_VERSION&#160;&#160;&#160;(MAKE_VERSION(2, 0, 0))</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga885f0195612ef6aa0d8e48aa644cea57"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ECSPI_DUMMYDATA&#160;&#160;&#160;(0xFFFFFFFFU)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gab7feb7648f53585d65d172a675a42148"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#gab7feb7648f53585d65d172a675a42148">_ecspi_status</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggab7feb7648f53585d65d172a675a42148a8a46fcccbbfc30bb81a0f324c5f3d860"></a>kStatus_ECSPI_Busy</em>&nbsp;</td><td class="fielddoc">
<p>ECSPI bus is busy. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab7feb7648f53585d65d172a675a42148a7a5f40ca776d628f47310d95e68fa245"></a>kStatus_ECSPI_Idle</em>&nbsp;</td><td class="fielddoc">
<p>ECSPI is idle. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab7feb7648f53585d65d172a675a42148acff86cd4db27adbb14cfdbc60cc4e04f"></a>kStatus_ECSPI_Error</em>&nbsp;</td><td class="fielddoc">
<p>ECSPI error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab7feb7648f53585d65d172a675a42148ad4e8224a416538ed087176bc033267e7"></a>kStatus_ECSPI_HardwareOverFlow</em>&nbsp;</td><td class="fielddoc">
<p>ECSPI hardware overflow. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gae0418192a24558da46fad3181ad2aac6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#gae0418192a24558da46fad3181ad2aac6">ecspi_clock_polarity_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae0418192a24558da46fad3181ad2aac6a87b0cb4747fed7d6f25b0107ceea9a86"></a>kECSPI_PolarityActiveHigh</em>&nbsp;</td><td class="fielddoc">
<p>Active-high ECSPI polarity high (idles low). </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae0418192a24558da46fad3181ad2aac6a2b62838dac3b0f2fe12f4d423636ff68"></a>kECSPI_PolarityActiveLow</em>&nbsp;</td><td class="fielddoc">
<p>Active-low ECSPI polarity low (idles high). </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga776487ec9cfe2ee52d26b62f4adc6878"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#ga776487ec9cfe2ee52d26b62f4adc6878">ecspi_clock_phase_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga776487ec9cfe2ee52d26b62f4adc6878a3bd1e7add02733a4fdc701b55a28d83c"></a>kECSPI_ClockPhaseFirstEdge</em>&nbsp;</td><td class="fielddoc">
<p>First edge on SPSCK occurs at the middle of the first cycle of a data transfer. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga776487ec9cfe2ee52d26b62f4adc6878acad0974595c9bbf39c64e1b11951a78b"></a>kECSPI_ClockPhaseSecondEdge</em>&nbsp;</td><td class="fielddoc">
<p>First edge on SPSCK occurs at the start of the first cycle of a data transfer. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gab6c8407ece4ff07b8039cfdd99897fe3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#gab6c8407ece4ff07b8039cfdd99897fe3">_ecspi_interrupt_enable</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggab6c8407ece4ff07b8039cfdd99897fe3af3d3bd3c344fecda9888c66b63f9b2bc"></a>kECSPI_TxfifoEmptyInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Transmit FIFO buffer empty interrupt. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab6c8407ece4ff07b8039cfdd99897fe3a2550332987e4b2832993eec7571c102d"></a>kECSPI_TxFifoDataRequstInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Transmit FIFO data requst interrupt. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab6c8407ece4ff07b8039cfdd99897fe3ab51c3b033fa2b8519a53a074be3ba6f7"></a>kECSPI_TxFifoFullInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Transmit FIFO full interrupt. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab6c8407ece4ff07b8039cfdd99897fe3a6113d2098b055e3f08420ce9e3ac2d4c"></a>kECSPI_RxFifoReadyInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Receiver FIFO ready interrupt. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab6c8407ece4ff07b8039cfdd99897fe3a58dfb462d67e67e437b6fdc9449b1b6f"></a>kECSPI_RxFifoDataRequstInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Receiver FIFO data requst interrupt. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab6c8407ece4ff07b8039cfdd99897fe3a98ffad56047a874910ff53ba36bcaf30"></a>kECSPI_RxFifoFullInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Receiver FIFO full interrupt. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab6c8407ece4ff07b8039cfdd99897fe3aef5f1ecfd8cb6b4f6ea898169b1c96dd"></a>kECSPI_RxFifoOverFlowInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Receiver FIFO buffer overflow interrupt. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab6c8407ece4ff07b8039cfdd99897fe3a759acc23595685c28efd304219dacd7c"></a>kECSPI_TransferCompleteInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Transfer complete interrupt. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab6c8407ece4ff07b8039cfdd99897fe3a970cc4e4c20aa8a433953c4b3530b99f"></a>kECSPI_AllInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>All interrupt. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gabc0c60a0cdfcca917d9ff1d49d32f11d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#gabc0c60a0cdfcca917d9ff1d49d32f11d">_ecspi_flags</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggabc0c60a0cdfcca917d9ff1d49d32f11dab655bd71113cf592dae74e2776a721dc"></a>kECSPI_TxfifoEmptyFlag</em>&nbsp;</td><td class="fielddoc">
<p>Transmit FIFO buffer empty flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabc0c60a0cdfcca917d9ff1d49d32f11dacbb31605593949923e0d7f09c3859142"></a>kECSPI_TxFifoDataRequstFlag</em>&nbsp;</td><td class="fielddoc">
<p>Transmit FIFO data requst flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabc0c60a0cdfcca917d9ff1d49d32f11da72d999ee17dcca997f3cc9ac56647cf7"></a>kECSPI_TxFifoFullFlag</em>&nbsp;</td><td class="fielddoc">
<p>Transmit FIFO full flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabc0c60a0cdfcca917d9ff1d49d32f11da262aac414af41bb3db795e0aeb70b520"></a>kECSPI_RxFifoReadyFlag</em>&nbsp;</td><td class="fielddoc">
<p>Receiver FIFO ready flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabc0c60a0cdfcca917d9ff1d49d32f11da707210bff1488bdb9bfaa71ca043b810"></a>kECSPI_RxFifoDataRequstFlag</em>&nbsp;</td><td class="fielddoc">
<p>Receiver FIFO data requst flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabc0c60a0cdfcca917d9ff1d49d32f11da366f72bc39e182080c5e07d2922e490b"></a>kECSPI_RxFifoFullFlag</em>&nbsp;</td><td class="fielddoc">
<p>Receiver FIFO full flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabc0c60a0cdfcca917d9ff1d49d32f11daa5457be11d61af76cf8192ffe872f1c9"></a>kECSPI_RxFifoOverFlowFlag</em>&nbsp;</td><td class="fielddoc">
<p>Receiver FIFO buffer overflow flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabc0c60a0cdfcca917d9ff1d49d32f11da3ca312f3c579ca0524ae433a4bd2758f"></a>kECSPI_TransferCompleteFlag</em>&nbsp;</td><td class="fielddoc">
<p>Transfer complete flag. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga3791f3bab2750aac043bd184f220da51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#ga3791f3bab2750aac043bd184f220da51">_ecspi_dma_enable_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga3791f3bab2750aac043bd184f220da51af73555b2b4eb12d7fcab8774e9dfb34b"></a>kECSPI_TxDmaEnable</em>&nbsp;</td><td class="fielddoc">
<p>Tx DMA request source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3791f3bab2750aac043bd184f220da51a53af55fec388ff98aafcfa4c947fc215"></a>kECSPI_RxDmaEnable</em>&nbsp;</td><td class="fielddoc">
<p>Rx DMA request source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3791f3bab2750aac043bd184f220da51aef9846743f20a85f6429f16d7b98687d"></a>kECSPI_DmaAllEnable</em>&nbsp;</td><td class="fielddoc">
<p>All DMA request source. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga3f9aab667da727ae384a6b76e09fd5c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#ga3f9aab667da727ae384a6b76e09fd5c0">ecspi_Data_ready_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga3f9aab667da727ae384a6b76e09fd5c0ae840f8158fce546e682c6ab1710d90b0"></a>kECSPI_DataReadyIgnore</em>&nbsp;</td><td class="fielddoc">
<p>SPI_RDY signal is ignored. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3f9aab667da727ae384a6b76e09fd5c0a77fc4d56d82923c8cb0fcc9e5521b647"></a>kECSPI_DataReadyFallingEdge</em>&nbsp;</td><td class="fielddoc">
<p>SPI_RDY signal will be triggerd by the falling edge. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3f9aab667da727ae384a6b76e09fd5c0af48e5a90d193e110bfd88dc1b4a5c0be"></a>kECSPI_DataReadyLowLevel</em>&nbsp;</td><td class="fielddoc">
<p>SPI_RDY signal will be triggerd by a low level. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga0946f249a6cbdb8987baa5f4bd39a0ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#ga0946f249a6cbdb8987baa5f4bd39a0ab">ecspi_channel_source_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga0946f249a6cbdb8987baa5f4bd39a0aba1ac961fb6f497e8ad9082fb07504e9c5"></a>kECSPI_Channel0</em>&nbsp;</td><td class="fielddoc">
<p>Channel 0 is selectd. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga0946f249a6cbdb8987baa5f4bd39a0aba3186dfb67a1311c21c6fc81a845324db"></a>kECSPI_Channel1</em>&nbsp;</td><td class="fielddoc">
<p>Channel 1 is selectd. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga0946f249a6cbdb8987baa5f4bd39a0aba16c4a01e134f7db5001f496b34bb080a"></a>kECSPI_Channel2</em>&nbsp;</td><td class="fielddoc">
<p>Channel 2 is selectd. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga0946f249a6cbdb8987baa5f4bd39a0aba0993f73a469ede063091c7de076c006e"></a>kECSPI_Channel3</em>&nbsp;</td><td class="fielddoc">
<p>Channel 3 is selectd. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gaa8ffe589b98df551c09da7fbd5fd8149"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#gaa8ffe589b98df551c09da7fbd5fd8149">ecspi_master_slave_mode_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaa8ffe589b98df551c09da7fbd5fd8149a492c128adc36b27e968376463d339b6c"></a>kECSPI_Slave</em>&nbsp;</td><td class="fielddoc">
<p>ECSPI peripheral operates in slave mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa8ffe589b98df551c09da7fbd5fd8149afa1c745867b3076523985e99aad4b58a"></a>kECSPI_Master</em>&nbsp;</td><td class="fielddoc">
<p>ECSPI peripheral operates in master mode. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga7756b59f227697a8d4fe335a2f40fa74"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#ga7756b59f227697a8d4fe335a2f40fa74">ecspi_data_line_inactive_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga7756b59f227697a8d4fe335a2f40fa74ab9b16d2f8e51662551756b6923d8384b"></a>kECSPI_DataLineInactiveStateHigh</em>&nbsp;</td><td class="fielddoc">
<p>The data line inactive state stays high. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga7756b59f227697a8d4fe335a2f40fa74a6d736df09298222db7f060e5bf8dae35"></a>kECSPI_DataLineInactiveStateLow</em>&nbsp;</td><td class="fielddoc">
<p>The data line inactive state stays low. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga524b46a0bed966cf616715354a0468a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#ga524b46a0bed966cf616715354a0468a2">ecspi_clock_inactive_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga524b46a0bed966cf616715354a0468a2ac7c53cfc3b3a445bdb4eb3a78d3d236a"></a>kECSPI_ClockInactiveStateLow</em>&nbsp;</td><td class="fielddoc">
<p>The SCLK inactive state stays low. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga524b46a0bed966cf616715354a0468a2a8be6d1327a55926da4cc1504e3763475"></a>kECSPI_ClockInactiveStateHigh</em>&nbsp;</td><td class="fielddoc">
<p>The SCLK inactive state stays high. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga75ba01276811af8ffaef76e74173ac7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#ga75ba01276811af8ffaef76e74173ac7b">ecspi_chip_select_active_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga75ba01276811af8ffaef76e74173ac7ba9940e869c485c1f937b0b2f9b4f7a777"></a>kECSPI_ChipSelectActiveStateLow</em>&nbsp;</td><td class="fielddoc">
<p>The SS signal line active stays low. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga75ba01276811af8ffaef76e74173ac7bade90bcbe7e7f3cf34547cf8b67b965f9"></a>kECSPI_ChipSelectActiveStateHigh</em>&nbsp;</td><td class="fielddoc">
<p>The SS signal line active stays high. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gaf6594affdbf34712547ee88af6c14909"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#gaf6594affdbf34712547ee88af6c14909">ecspi_wave_form_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaf6594affdbf34712547ee88af6c14909a8ae0eac731958e012204a228852ae40b"></a>kECSPI_WaveFormSingle</em>&nbsp;</td><td class="fielddoc">
<p>The wave form for signal burst. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf6594affdbf34712547ee88af6c14909aafd4ab11fa403da5bcf42749565343c7"></a>kECSPI_WaveFormMultiple</em>&nbsp;</td><td class="fielddoc">
<p>The wave form for multiple burst. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga8e15db09a9c66cb10350282507f3d5c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ecspi__driver.html#ga8e15db09a9c66cb10350282507f3d5c6">ecspi_sample_period_clock_source_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga8e15db09a9c66cb10350282507f3d5c6a86a48f9e83419196fadcc8189ed6e841"></a>kECSPI_spiClock</em>&nbsp;</td><td class="fielddoc">
<p>The sample period clock source is SCLK. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga8e15db09a9c66cb10350282507f3d5c6a02660ea6610c018123dd691c19939f5f"></a>kECSPI_lowFreqClock</em>&nbsp;</td><td class="fielddoc">
<p>The sample seriod clock source is low_frequency reference clock(32.768 kHz). </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga3984ed3d0a8755835f1244334ff59f67"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_MasterGetDefaultConfig </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#structecspi__master__config__t">ecspi_master_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The purpose of this API is to get the configuration structure initialized for use in <a class="el" href="group__ecspi__driver.html#ga26e03d859a266145121e60a94d84e04b" title="Initializes the ECSPI with configuration. ">ECSPI_MasterInit()</a>. User may use the initialized structure unchanged in ECSPI_MasterInit, or modify some fields of the structure before calling ECSPI_MasterInit. After calling this API, the master is ready to transfer. Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__ecspi__driver.html#structecspi__master__config__t">ecspi_master_config_t</a> config;</div>
<div class="line"><a class="code" href="group__ecspi__driver.html#ga3984ed3d0a8755835f1244334ff59f67">ECSPI_MasterGetDefaultConfig</a>(&amp;config);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>pointer to config structure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga26e03d859a266145121e60a94d84e04b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_MasterInit </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__ecspi__driver.html#structecspi__master__config__t">ecspi_master_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcClock_Hz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The configuration structure can be filled by user from scratch, or be set with default values by <a class="el" href="group__ecspi__driver.html#ga3984ed3d0a8755835f1244334ff59f67" title="Sets the ECSPI configuration structure to default values. ">ECSPI_MasterGetDefaultConfig()</a>. After calling this API, the slave is ready to transfer. Example </p>
<div class="fragment"><div class="line"><a class="code" href="group__ecspi__driver.html#structecspi__master__config__t">ecspi_master_config_t</a> config = {</div>
<div class="line">.<a class="code" href="group__ecspi__driver.html#a8b5fce2d680a7e33f0ca1c03108f5a50">baudRate_Bps</a> = 400000,</div>
<div class="line">...</div>
<div class="line">};</div>
<div class="line"><a class="code" href="group__ecspi__driver.html#ga26e03d859a266145121e60a94d84e04b">ECSPI_MasterInit</a>(ECSPI0, &amp;config);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">config</td><td>pointer to master configuration structure </td></tr>
    <tr><td class="paramname">srcClock_Hz</td><td>Source clock frequency. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga76aa1e3db8310570d7621766958e4249"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_SlaveGetDefaultConfig </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#structecspi__slave__config__t">ecspi_slave_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The purpose of this API is to get the configuration structure initialized for use in <a class="el" href="group__ecspi__driver.html#ga9d64d89082d59ff4634df9cfafd92401" title="Initializes the ECSPI with configuration. ">ECSPI_SlaveInit()</a>. User may use the initialized structure unchanged in <a class="el" href="group__ecspi__driver.html#ga9d64d89082d59ff4634df9cfafd92401" title="Initializes the ECSPI with configuration. ">ECSPI_SlaveInit()</a>, or modify some fields of the structure before calling <a class="el" href="group__ecspi__driver.html#ga9d64d89082d59ff4634df9cfafd92401" title="Initializes the ECSPI with configuration. ">ECSPI_SlaveInit()</a>. After calling this API, the master is ready to transfer. Example: </p>
<div class="fragment"><div class="line">ecspi_Slaveconfig_t config;</div>
<div class="line"><a class="code" href="group__ecspi__driver.html#ga76aa1e3db8310570d7621766958e4249">ECSPI_SlaveGetDefaultConfig</a>(&amp;config);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>pointer to config structure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga9d64d89082d59ff4634df9cfafd92401"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_SlaveInit </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__ecspi__driver.html#structecspi__slave__config__t">ecspi_slave_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The configuration structure can be filled by user from scratch, or be set with default values by <a class="el" href="group__ecspi__driver.html#ga76aa1e3db8310570d7621766958e4249" title="Sets the ECSPI configuration structure to default values. ">ECSPI_SlaveGetDefaultConfig()</a>. After calling this API, the slave is ready to transfer. Example </p>
<div class="fragment"><div class="line">ecspi_Salveconfig_t config = {</div>
<div class="line">.baudRate_Bps = 400000,</div>
<div class="line">...</div>
<div class="line">};</div>
<div class="line"><a class="code" href="group__ecspi__driver.html#ga9d64d89082d59ff4634df9cfafd92401">ECSPI_SlaveInit</a>(ECSPI1, &amp;config);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">config</td><td>pointer to master configuration structure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga684087107b71beeb41401d78f4983685"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_Deinit </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Calling this API resets the ECSPI module, gates the ECSPI clock. The ECSPI module can't work unless calling the ECSPI_MasterInit/ECSPI_SlaveInit to initialize module.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga2e4d1cabe92e6f4b35c540ba3c8b0308"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void ECSPI_Enable </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">enable</td><td>pass true to enable module, false to disable module </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gacebe36e1f278e18350d4bf971af2fc7e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint32_t ECSPI_GetStatusFlags </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ECSPI Status, use status flag to AND <a class="el" href="group__ecspi__driver.html#gabc0c60a0cdfcca917d9ff1d49d32f11d" title="ECSPI status flags. ">_ecspi_flags</a> could get the related status. </dd></dl>

</div>
</div>
<a class="anchor" id="gaa437a7c7a740dfabb3f2296b0e989adf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void ECSPI_ClearStatusFlags </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">mask</td><td>ECSPI Status, use status flag to AND <a class="el" href="group__ecspi__driver.html#gabc0c60a0cdfcca917d9ff1d49d32f11d" title="ECSPI status flags. ">_ecspi_flags</a> could get the related status. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad3f9f4d11b99c104503aa4b7dda53833"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void ECSPI_EnableInterrupts </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">mask</td><td>ECSPI interrupt source. The parameter can be any combination of the following values: <ul>
<li>kECSPI_TxfifoEmptyInterruptEnable </li>
<li>kECSPI_TxFifoDataRequstInterruptEnable </li>
<li>kECSPI_TxFifoFullInterruptEnable </li>
<li>kECSPI_RxFifoReadyInterruptEnable </li>
<li>kECSPI_RxFifoDataRequstInterruptEnable </li>
<li>kECSPI_RxFifoFullInterruptEnable </li>
<li>kECSPI_RxFifoOverFlowInterruptEnable </li>
<li>kECSPI_TransferCompleteInterruptEnable </li>
<li>kECSPI_AllInterruptEnable </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac9bac11d5dcd977a97a0607d77791ba1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void ECSPI_DisableInterrupts </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">mask</td><td>ECSPI interrupt source. The parameter can be any combination of the following values: <ul>
<li>kECSPI_TxfifoEmptyInterruptEnable </li>
<li>kECSPI_TxFifoDataRequstInterruptEnable </li>
<li>kECSPI_TxFifoFullInterruptEnable </li>
<li>kECSPI_RxFifoReadyInterruptEnable </li>
<li>kECSPI_RxFifoDataRequstInterruptEnable </li>
<li>kECSPI_RxFifoFullInterruptEnable </li>
<li>kECSPI_RxFifoOverFlowInterruptEnable </li>
<li>kECSPI_TransferCompleteInterruptEnable </li>
<li>kECSPI_AllInterruptEnable </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gadc13d57141df32cefbb4b0040e6404f6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void ECSPI_SoftwareReset </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga92268573eb4bcbb82d4cc2417ac4933a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool ECSPI_IsMaster </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#ga0946f249a6cbdb8987baa5f4bd39a0ab">ecspi_channel_source_t</a>&#160;</td>
          <td class="paramname"><em>channel</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">channel</td><td>ECSPI channel source </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>mode of channel </dd></dl>

</div>
</div>
<a class="anchor" id="gab2f7c2269309fd273f8e41f11833e313"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void ECSPI_EnableDMA </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">source</td><td>ECSPI DMA source. </td></tr>
    <tr><td class="paramname">enable</td><td>True means enable DMA, false means disable DMA </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga88e66c4f5f15754fb7ba7fc016f6dc41"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint8_t ECSPI_GetTxFifoCount </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of words in Tx FIFO buffer. </dd></dl>

</div>
</div>
<a class="anchor" id="gaded76e7db6b46c3a53922a528d755c57"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint8_t ECSPI_GetRxFifoCount </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of words in Rx FIFO buffer. </dd></dl>

</div>
</div>
<a class="anchor" id="ga3175e7552062e74bffa3538195b8df6a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void ECSPI_SetChannelSelect </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#ga0946f249a6cbdb8987baa5f4bd39a0ab">ecspi_channel_source_t</a>&#160;</td>
          <td class="paramname"><em>channel</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">channel</td><td>Channel source. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa4a223ca2612f4e73fae0982afcff226"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_SetChannelConfig </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#ga0946f249a6cbdb8987baa5f4bd39a0ab">ecspi_channel_source_t</a>&#160;</td>
          <td class="paramname"><em>channel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__ecspi__driver.html#structecspi__channel__config__t">ecspi_channel_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The purpose of this API is to set the channel will be use to transfer. User may use this API after instance has been initialized or before transfer start. The configuration structure #_ecspi_channel_config_ can be filled by user from scratch. After calling this API, user can select this channel as transfer channel.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">channel</td><td>Channel source. </td></tr>
    <tr><td class="paramname">config</td><td>Configuration struct of channel </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4b5b00f89c45cb1164af2a4685e984d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_SetBaudRate </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>baudRate_Bps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcClock_Hz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is only used in master.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">baudRate_Bps</td><td>baud rate needed in Hz. </td></tr>
    <tr><td class="paramname">srcClock_Hz</td><td>ECSPI source clock frequency in Hz. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga510cc92b588628aef34fef1078e87716"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_WriteBlocking </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This function blocks via polling until all bytes have been sent.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">buffer</td><td>The data bytes to send </td></tr>
    <tr><td class="paramname">size</td><td>The number of data bytes to send </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga99b6a9e30ad735c3634d60b81c500c2e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void ECSPI_WriteData </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
    <tr><td class="paramname">data</td><td>Data needs to be write. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga3c50b084acf2fe74f19575cc10069bbe"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint32_t ECSPI_ReadData </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI base pointer </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Data in the register. </dd></dl>

</div>
</div>
<a class="anchor" id="ga1ab5918361a605a7f0467bcb3d1760ac"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_MasterTransferCreateHandle </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ecspi_master_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#ga6d23219efb6e309fb8b4cbd1edc86e98">ecspi_master_callback_t</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>userData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function initializes the ECSPI master handle which can be used for other ECSPI master transactional APIs. Usually, for a specified ECSPI instance, call this API once to get the initialized handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI peripheral base address. </td></tr>
    <tr><td class="paramname">handle</td><td>ECSPI handle pointer. </td></tr>
    <tr><td class="paramname">callback</td><td>Callback function. </td></tr>
    <tr><td class="paramname">userData</td><td>User data. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga20f68343a19b3772e814a8ee61d7be7f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">status_t ECSPI_MasterTransferBlocking </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#structecspi__transfer__t">ecspi_transfer_t</a> *&#160;</td>
          <td class="paramname"><em>xfer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>SPI base pointer </td></tr>
    <tr><td class="paramname">xfer</td><td>pointer to spi_xfer_config_t structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">kStatus_Success</td><td>Successfully start a transfer. </td></tr>
    <tr><td class="paramname">kStatus_InvalidArgument</td><td>Input argument is invalid. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad77408a45d6982958068a49149ac60b6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">status_t ECSPI_MasterTransferNonBlocking </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ecspi_master_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#structecspi__transfer__t">ecspi_transfer_t</a> *&#160;</td>
          <td class="paramname"><em>xfer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>The API immediately returns after transfer initialization is finished. </dd>
<dd>
If ECSPI transfer data frame size is 16 bits, the transfer size cannot be an odd number.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI peripheral base address. </td></tr>
    <tr><td class="paramname">handle</td><td>pointer to ecspi_master_handle_t structure which stores the transfer state </td></tr>
    <tr><td class="paramname">xfer</td><td>pointer to <a class="el" href="group__ecspi__driver.html#structecspi__transfer__t" title="ECSPI transfer structure. ">ecspi_transfer_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">kStatus_Success</td><td>Successfully start a transfer. </td></tr>
    <tr><td class="paramname">kStatus_InvalidArgument</td><td>Input argument is invalid. </td></tr>
    <tr><td class="paramname">kStatus_ECSPI_Busy</td><td>ECSPI is not idle, is running another transfer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga85aef57f678a64cbe3e718ec59043841"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">status_t ECSPI_MasterTransferGetCount </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ecspi_master_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI peripheral base address. </td></tr>
    <tr><td class="paramname">handle</td><td>Pointer to ECSPI transfer handle, this should be a static variable. </td></tr>
    <tr><td class="paramname">count</td><td>Transferred bytes of ECSPI master. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">kStatus_ECSPI_Success</td><td>Succeed get the transfer count. </td></tr>
    <tr><td class="paramname">kStatus_NoTransferInProgress</td><td>There is not a non-blocking transaction currently in progress. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gacda4c03d5c4b1c2ba78578ff5213a2f5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_MasterTransferAbort </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ecspi_master_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI peripheral base address. </td></tr>
    <tr><td class="paramname">handle</td><td>Pointer to ECSPI transfer handle, this should be a static variable. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gada190053bf71b9ce53a619b7d6c7c245"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_MasterTransferHandleIRQ </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ecspi_master_handle_t *&#160;</td>
          <td class="paramname"><em>handle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI peripheral base address. </td></tr>
    <tr><td class="paramname">handle</td><td>pointer to ecspi_master_handle_t structure which stores the transfer state. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga63b3bb057b97b1115ad082e9e056632b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_SlaveTransferCreateHandle </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#gaba2d0ab06e8ec3b144ce09b38717c73a">ecspi_slave_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#ga14759db6a77598c3d0b901154129b58d">ecspi_slave_callback_t</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>userData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function initializes the ECSPI slave handle which can be used for other ECSPI slave transactional APIs. Usually, for a specified ECSPI instance, call this API once to get the initialized handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI peripheral base address. </td></tr>
    <tr><td class="paramname">handle</td><td>ECSPI handle pointer. </td></tr>
    <tr><td class="paramname">callback</td><td>Callback function. </td></tr>
    <tr><td class="paramname">userData</td><td>User data. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad4a51681f1b62b0f26be844a209e6e10"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static status_t ECSPI_SlaveTransferNonBlocking </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#gaba2d0ab06e8ec3b144ce09b38717c73a">ecspi_slave_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#structecspi__transfer__t">ecspi_transfer_t</a> *&#160;</td>
          <td class="paramname"><em>xfer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>The API returns immediately after the transfer initialization is finished.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI peripheral base address. </td></tr>
    <tr><td class="paramname">handle</td><td>pointer to ecspi_master_handle_t structure which stores the transfer state </td></tr>
    <tr><td class="paramname">xfer</td><td>pointer to <a class="el" href="group__ecspi__driver.html#structecspi__transfer__t" title="ECSPI transfer structure. ">ecspi_transfer_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">kStatus_Success</td><td>Successfully start a transfer. </td></tr>
    <tr><td class="paramname">kStatus_InvalidArgument</td><td>Input argument is invalid. </td></tr>
    <tr><td class="paramname">kStatus_ECSPI_Busy</td><td>ECSPI is not idle, is running another transfer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gacea2421bc4aaee6e9cc19f7d4f48e3e5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static status_t ECSPI_SlaveTransferGetCount </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#gaba2d0ab06e8ec3b144ce09b38717c73a">ecspi_slave_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI peripheral base address. </td></tr>
    <tr><td class="paramname">handle</td><td>Pointer to ECSPI transfer handle, this should be a static variable. </td></tr>
    <tr><td class="paramname">count</td><td>Transferred bytes of ECSPI slave. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">kStatus_ECSPI_Success</td><td>Succeed get the transfer count. </td></tr>
    <tr><td class="paramname">kStatus_NoTransferInProgress</td><td>There is not a non-blocking transaction currently in progress. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga2512b5ae1d6591e8ba1d70f15221c689"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void ECSPI_SlaveTransferAbort </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#gaba2d0ab06e8ec3b144ce09b38717c73a">ecspi_slave_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI peripheral base address. </td></tr>
    <tr><td class="paramname">handle</td><td>Pointer to ECSPI transfer handle, this should be a static variable. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga8bc32a537b99b7e988228650957f25d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ECSPI_SlaveTransferHandleIRQ </td>
          <td>(</td>
          <td class="paramtype">ECSPI_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ecspi__driver.html#gaba2d0ab06e8ec3b144ce09b38717c73a">ecspi_slave_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>ECSPI peripheral base address. </td></tr>
    <tr><td class="paramname">handle</td><td>pointer to ecspi_slave_handle_t structure which stores the transfer state </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul class="foot">
    <li class="footer">&copy; 2016 NXP Semiconductors. All rights reserved.
    </li>
  </ul>
</div>
</body>
</html>
